package com.ls.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ls.server.domain.ChatAttachment;
import com.ls.server.vo.ChatAttachmentVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 聊天附件Service接口
 */
public interface ChatAttachmentService extends IService<ChatAttachment> {
    
    /**
     * 上传聊天附件
     *
     * @param file 文件
     * @param sessionId 会话ID
     * @param userId 用户ID
     * @return 附件ID
     */
    Long uploadAttachment(MultipartFile file, String sessionId, Long userId);
    
    /**
     * 根据消息ID获取附件列表
     *
     * @param messageId 消息ID
     * @return 附件列表
     */
    List<ChatAttachmentVO> listByMessageId(Long messageId);
    
    /**
     * 根据会话ID获取附件列表
     *
     * @param sessionId 会话ID
     * @return 附件列表
     */
    List<ChatAttachmentVO> listBySessionId(String sessionId);
    
    /**
     * 关联附件到消息
     *
     * @param messageId 消息ID
     * @param attachmentIds 附件ID列表
     * @return 操作结果
     */
    boolean linkAttachmentsToMessage(Long messageId, List<Long> attachmentIds);
    
    /**
     * 删除附件
     *
     * @param attachmentId 附件ID
     * @return 操作结果
     */
    boolean deleteAttachment(Long attachmentId);
} 